from datetime import datetime
from msilib.schema import tables
from django.db import models

# Create your models here.
##### 管理后台用户表数据
class AdminUsers(models.Model):
    class Meta:
        db_table="crm_admin_users"
    username=models.CharField("用户名",max_length=30,unique=True)
    password=models.CharField("密码",max_length=32)
    profile_picture=models.CharField("头像",max_length=200,default="",null=True)
    mg_status = models.BooleanField("状态",choices=((0,'关闭'),(1,'启用')),default=1)
    email = models.EmailField("邮箱地址",null=True,default="")
    token = models.CharField("token值",max_length=150,default="",null=True)
    expired_at = models.IntegerField("过期时间",default=0,null=True)
    roles = models.ManyToManyField("Roles")### 用户和角色多对多
    depart=models.ManyToManyField("Department") ### 用户和部门多对多关系
    created_at = models.DateTimeField('创建时间',default=datetime.now,null=True)
    updated_at = models.DateTimeField("更新时间",default=datetime.now,null=True)

#### 部门表的内容
class Department(models.Model):
    class Meta:
        db_table="crm_department"
    pid=models.IntegerField("部门父id")
    name=models.CharField("部门名称",max_length=50,default="",null=True)
    status = models.BooleanField("状态",choices=((0,'停用'),(1,'启用')),default=1)
    order=models.IntegerField("排序",default=100,null=True)
    created_at = models.DateTimeField('创建时间',default=datetime.now,null=True)
    updated_at = models.DateTimeField("更新时间",default=datetime.now,null=True)

####角色列表
class Roles(models.Model):
    class Meta:
        db_table="crm_roles"
    role_name=models.CharField("角色名称",max_length=20,default="")
    role_code = models.CharField("角色字符",max_length=50,default="")
    role_desc = models.CharField("角色描述",max_length=50,default="")
    order=models.IntegerField("排序",default=100,null=True)
    status = models.BooleanField("状态",choices=((0,'停用'),(1,'启用')),default=1)
    created_at = models.DateTimeField('创建时间',default=datetime.now,null=True)
    updated_at = models.DateTimeField("更新时间",default=datetime.now,null=True)



##### 权限表
class Permissions(models.Model):
    class Meta:
        db_table="crm_permissions"
    pid = models.IntegerField("父级id",default=0)
    name = models.CharField("权限名称",max_length=20,default="")
    path = models.CharField("路由地址",max_length=40,default="")
    is_menu = models.SmallIntegerField("是否菜单",choices=((1,"是"),(2,"否")),default=1)
    icon = models.CharField("菜单图标",max_length=30,default="",null=True)
    sort = models.IntegerField("排序",default=10)
    access=models.CharField("权限标识",max_length=50,default="",null=True)
    roles=models.ManyToManyField("roles") ### 角色和权限多对多的关系
    created_at = models.DateTimeField('创建时间',default=datetime.now,null=True)
    updated_at = models.DateTimeField("更新时间",default=datetime.now,null=True)


##### 课程表的内容
class Course(models.Model):
    class Meta:
        db_table="crm_course"
    no=models.CharField("课程编号",max_length=30,default="")
    type=models.SmallIntegerField("课程学科",default=1)
    name=models.CharField("课程名称",max_length=50,default="")
    price=models.DecimalField("价格",max_digits=10,decimal_places=2,default=0.00)
    accept=models.SmallIntegerField("使用人员",choices=((1,'小白程序员'),(2,'初级程序员'),(3,'中级程序员')),default=1)
    intro=models.CharField("课程介绍",max_length=120,null=True,default="")
    created_at = models.DateTimeField('创建时间',default=datetime.now,null=True)
    updated_at = models.DateTimeField("更新时间",default=datetime.now,null=True)

#### 活动表的设计

class Activity(models.Model):
    class Meta:
        db_table="crm_activity"
    no=models.CharField("活动编号",max_length=30,default="")
    source=models.SmallIntegerField("活动来源",choices=((1,'线上活动'),(2,"推广活动")),default=1)
    name=models.CharField("活动名称",max_length=50,default="")
    intro=models.CharField("活动简介",max_length=120,null=True,default="")
    type=models.SmallIntegerField("活动类型",default=1,choices=((1,'课程折扣'),(2,"课程代金券")))
    detail=models.DecimalField("活动明细",max_digits=8,decimal_places=0)
    start_at = models.IntegerField("活动开始时间",default=0,null=True)
    end_at = models.IntegerField("活动结束时间",default=0,null=True)